package com.xxl.job.admin.service;

import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import com.xxl.job.admin.core.model.XxlJobLog;
import com.xxl.job.admin.core.vo.XxlJobSumVo;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface XxlJobLogService extends IService<XxlJobLog> {
    List<Long> findClearLogIds(int jobGroup, int jobId, Date clearBeforeTime, int clearBeforeNum, int i);

    void clearLog(List<Long> logIds);

    Page<XxlJobLog> pageList(int start, int length, int jobGroup, int jobId, Date triggerTimeStart, Date triggerTimeEnd, int logStatus);

    XxlJobSumVo findLogReport(Date todayFrom, Date todayTo);

    List<Long> findLostJobIds(Date losedTime);

    List<Long> findFailJobLogIds(int i);

    int updateAlarmStatus(long logId, int oldAlarmStatus, int newAlarmStatus);

    void removeByJobId(int id);
}
